package com.cvmars.jianyou.utils;

import android.app.Activity;
import android.net.Uri;

import io.rong.imkit.RongIM;
import io.rong.imlib.RongIMClient;
import io.rong.imlib.model.Message;
import io.rong.imlib.model.UserInfo;

/**
 * Created by hehaifeng on 2018/12/1.
 */

public class RongHelper {


    public static void initMessageReceiver() {

        RongIM.getInstance().setOnReceiveMessageListener(new RongIMClient.OnReceiveMessageListener() {
            @Override
            public boolean onReceived(Message message, int i) {
                return false;
            }
        });
    }


    public static void setUserInfoProvider() {

        /**
         * 设置用户信息的提供者，供 RongIM 调用获取用户名称和头像信息。
         *
         * @param userInfoProvider 用户信息提供者。
         * @param isCacheUserInfo  设置是否由 IMKit 来缓存用户信息。<br>
         *                         如果 App 提供的 UserInfoProvider
         *                         每次都需要通过网络请求用户数据，而不是将用户数据缓存到本地内存，会影响用户信息的加载速度；<br>
         *                         此时最好将本参数设置为 true，由 IMKit 将用户信息缓存到本地内存中。
         * @see UserInfoProvider
         */
        RongIM.setUserInfoProvider(new RongIM.UserInfoProvider() {

            @Override
            public UserInfo getUserInfo(String userId) {

                return null;
//                return findUserById(userId);//根据 userId 去你的用户系统里查询对应的用户信息返回给融云 SDK。
            }

        }, true);
    }


    /**
     * 刷新用户缓存数据。
     * <p>
     * //@param userInfo 需要更新的用户缓存数据。
     */

    public static void refreshUserInfo() {


        RongIM.getInstance().refreshUserInfoCache(new UserInfo("userId",
                "啊明", Uri.parse("http://rongcloud-web.qiniudn.com/docs_demo_rongcloud_logo.png")));
    }

    /**
     * 设置当前用户信息，
     *
     * @param userInfo 当前用户信息
     */
    public static void setCurrentUserInfo(UserInfo userInfo) {


        RongIM.getInstance().setCurrentUserInfo(userInfo);
    }


    public static void startSingleChat(Activity activity) {


        /**
         * 启动单聊界面。
         *
         * @param context      应用上下文。
         * @param targetUserId 要与之聊天的用户 Id。
         * @param title        聊天的标题，开发者需要在聊天界面通过 intent.getData().getQueryParameter("title")
         *                     获取该值, 再手动设置为聊天界面的标题。
         */
        RongIM.getInstance().startPrivateChat(activity, "9527", "标题");
    }

    /**
     * 启动群组聊天界面。
     * <p>
     * //@param context       应用上下文。
     * //@param targetGroupId 要聊天的群组 Id。
     * //@param title         聊天的标题，开发者可以在聊天界面通过 intent.getData().getQueryParameter("title") 获取该值, 再手动设置为标题。
     */

    public static void setGroupChat(Activity activity) {

        RongIM.getInstance().startGroupChat(activity, "9527", "标题");
    }
}
